'use strict';
module.exports = {
  // 默认接口类型
  useradmin: {
    username: { type: 'string', required: true, example: 'admin' },
    password: { type: 'string', required: true, example: 'admin' },
    tid: { type: 'string', required: true, example: '01ESG1KWE5NEB070SFDEHVM8GA' },
    // resourceNametrue: { type: 'string', required: true },
    // resourceType: { type: 'string', required: true, enum: ['video', 'game', 'image'] },
    // resourceTag: { type: 'array', itemType: 'string' },
    // owner: { type: 'User', required: true },
    // owners: { type: 'array', itemType: 'User' },
  },
  loginauth: {
    userid: { type: 'string', required: true, example: '' },
  },
  globaladmin: {
    username: { type: 'string', required: true, example: 'zhoukenan' },
    password: { type: 'string', required: true, example: 'zhoukenan' },
  },
  tenantadmincreate: {
    enabled: { type: 'boolean', required: true, example: true },
    initFlag: { type: 'boolean', required: true, example: false },
    memo: { type: 'string', required: true, example: 'hahaha' },
    mpassword: { type: 'string', required: true, example: 'hahaha' },
    muser: { type: 'string', required: true, example: 'hahaha' },
    name: { type: 'string', required: true, example: 'hahaha' },
  },
  tenantadminedit: {
    enabled: { type: 'boolean', required: true, example: true },
    memo: { type: 'string', required: true, example: 'hehehe' },
    // mpassword: { type: 'string', required: true, example: 'hehehe' },
    // muser: { type: 'string', required: true, example: 'hehehe' },
    name: { type: 'string', required: true, example: 'hehehe' },
    id: { type: 'string', required: true, example: '01ESJ03VBYGRA48T503FHPWZ8J' },
  },
  tenantadminInitACS: {
    url: { type: 'string', required: true, example: '' },
  },
  oltsnmp: {
    ip: { type: 'string', required: true, example: '10.10.1.157' },
    community: { type: 'string', required: true, example: 'public' },
    oltType: { type: 'string', required: true, example: '' },
  },
  olttelnet: {
    host: { type: 'string', required: true, example: '10.10.1.157' },
    managementPassword: { type: 'string', required: true, example: 'zxr10' },
    password: { type: 'string', required: true, example: 'zte' },
    systemName: { type: 'string', required: true, example: 'ZXAN' },
    tPort: { type: 'string', required: true, example: '23' },
    username: { type: 'string', required: true, example: 'zte' },
    oltType: { type: 'string', required: true, example: 'ZTE' },
  },
  oltcreate: {
    oltType: { type: 'string', required: true, example: '' },
    name: { type: 'string', required: true, example: '' },
    oltIP: { type: 'string', required: true, example: '' },
    telnetTCPPort: { type: 'string', required: true, example: '' },
    oltTelnetUsername: { type: 'string', required: true, example: '' },
    oltTelnetPassword: { type: 'string', required: true, example: '' },
    oltManagementPassword: { type: 'string', required: true, example: '' },
    initCommunity: { type: 'string', required: true, example: '' },
    snmpUDPPort: { type: 'string', required: true, example: '' },
    ACSVlan: { type: 'string', required: true, example: '' },
  },
  vlancreate: {
    Memo: { type: 'string', required: true, example: '807' },
    OltId: { type: 'string', required: true, example: '01ESN1JG3P83PK7AHWAXD76P5J' },
    VlanID: { type: 'string', required: true, example: '807' },
  },
  editolt: {
    id: { type: 'string', required: true, example: '' },
    name: { type: 'string', required: true, example: '' },
    oltIP: { type: 'string', required: true, example: '' },
    telnetTCPPort: { type: 'string', required: true, example: '' },
    oltTelnetUsername: { type: 'string', required: true, example: '' },
    oltTelnetPassword: { type: 'string', required: true, example: '' },
    oltManagementPassword: { type: 'string', required: true, example: '' },
    snmpUDPPort: { type: 'string', required: true, example: '' },
    supportedPonType: { type: 'string', required: true, example: '' },
    iptvModule: { type: 'boolean', required: true, example: false },
  },
  onufindcreate: {
    id: { type: 'string', required: true, example: '' },
    dbaProfileId: { type: 'string', required: true, example: '' },
    onuProfileId: { type: 'string', required: true, example: '' },
    srvProfileId: { type: 'string', required: true, example: '' },
    lineProfileId: { type: 'string', required: true, example: '' },
    remoteProfileId: { type: 'string', required: true, example: '' },
    lineProfileJSON: { type: 'string', required: true, example: '' },
    // uplinkId: { type: 'string', required: true, example: '' },
    // downId: { type: 'string', required: true, example: '' },
    // vlan: { type: 'string', required: true, example: '' },
    ONUindex: { type: 'string', required: true, example: '' },
    PONindex: { type: 'string', required: true, example: '' },
    mode: { type: 'string', required: true, example: '' },
    ONUname: { type: 'string', required: true, example: '' },
    sn: { type: 'string', required: true, example: '' },
    gemport: { type: 'string', required: true, example: '' },
  },
  scriptcreate: {
    name: { type: 'string', required: true, example: '' },
    script: { type: 'string', required: true, example: '' },
    version: { type: 'string', required: true, example: '' },
    MountPoint: { type: 'string', required: true, example: '' },
    oltTypeId: { type: 'string', required: true, example: '' },
  },
  scriptedit: {
    script: { type: 'string', required: true, example: '' },
    version: { type: 'string', required: true, example: '' },
    MountPoint: { type: 'string', required: true, example: '' },
    id: { type: 'string', required: true, example: '' },
  },
  config: {
    id: { type: 'string', required: true, example: '' },
    flag: { type: 'boolean', required: true, example: '' },
    refreshtime: { type: 'integer', required: true, example: '' },
    days: { type: 'integer', required: true, example: '' },
  },
  send: {
    name: { type: 'string', required: true, example: '' },
    email: { type: 'string', required: true, example: '' },
    companyURL: { type: 'string', required: true, example: '' },
    telephone: { type: 'string', required: true, example: '' },
    address: { type: 'string', required: true, example: '' },
    users: { type: 'string', required: true, example: '' },
    period: { type: 'string', required: true, example: '' },
    unit: { type: 'string', required: true, example: '' },
  },
  check: {
    name: { type: 'string', required: true, example: '' },
    email: { type: 'string', required: true, example: '' },
    companyURL: { type: 'string', required: true, example: '' },
    telephone: { type: 'string', required: true, example: '' },
    address: { type: 'string', required: true, example: '' },
    users: { type: 'string', required: true, example: '' },
    period: { type: 'string', required: true, example: '' },
    unit: { type: 'string', required: true, example: '' },
    code: { type: 'string', required: true, example: '' },
  },
  editpassword: {
    id: { type: 'string', required: true, example: '' },
    password: { type: 'string', required: true, example: '' },
  },
  useradmincreate: {
    username: { type: 'string', required: true, example: '' },
    password: { type: 'string', required: true, example: '' },
    nickname: { type: 'string', required: true, example: '' },
    language: { type: 'string', required: true, example: '' },
  },
  rolecreate: {
    roleName: { type: 'string', required: true, example: '' },
    roleCode: { type: 'string', required: true, example: '' },
  },
  roleedit: {
    id: { type: 'string', required: true, example: '' },
    name: { type: 'string', required: true, example: '' },
    pages: { type: 'string', required: true, example: '' },
  },
  createGroup: {
    groupName: { type: 'string', required: true, example: '' },
  },
  deleteGroup: {
    group: { type: 'string', required: true, example: '' },
  },
  group_onu: {
    group: { type: 'string', required: true, example: '' },
    onus: { type: 'array', itemType: 'string' },
  },
  addConfigTemplate: {
    id: { type: 'string', required: true, example: '' },
    name: { type: 'string', required: true, example: '' },
    type: { type: 'string', required: true, example: '' },
    typeName: { type: 'string', required: true, example: '' },
    vlanNumber: { type: 'string', required: true, example: '' },
    memo: { type: 'string', required: true, example: '' },
    state: { type: 'boolean', required: true },
    content: { type: 'string', required: true, example: '' },
  },
  modifyConfigTemplateParams: {
    ids: { type: 'array', itemType: 'string', required: true },
    type: { type: 'string', required: true },
  },
  resourcecreate: {
    resourceType: { type: 'string', required: true },
    URL: { type: 'string', required: true },
    Name: { type: 'string', required: true },
    Route: { type: 'string', required: true },
    Parentid: { type: 'string', required: true },
  },
  vlanedit: {
    id: { type: 'string', required: true, example: '' },
    Memo: { type: 'string', required: true, example: '' },
  },
  vlanbind: {
    id: { type: 'string', required: true, example: '' },
    tagArr: { type: 'string', required: true, example: '' },
    untagArr: { type: 'string', required: true, example: '' },
  },
  BusinessTemplate: {
    id: { type: 'string', required: false, example: '' },
    name: { type: 'string', required: true, example: '' },
    configs: { type: 'array', itemType: 'string', required: true },
    memo: { type: 'string', required: true, example: '' },
    active: { type: 'boolean', required: true },
  },
  bindrole: {
    bindrole: { type: 'string', require: true, example: '' },
    id: { type: 'string', require: true, example: '' },
  },
  createDefaultTemplates: {
    typename: { type: 'string', require: true, example: 'config' },
  },
  sendTemplate: {
    templateID: { type: 'string', require: true, example: '' },
    ids: { type: 'string', require: true, example: '' },
  },
  roleuser: {
    arr: { type: 'array', itemType: 'string' },
  },
  updateONUInfos: {
    oui: { type: 'string', require: true, example: '' },
    mac: { type: 'string', require: true, example: '' },
    manurfactor: { type: 'string', require: true, example: '' },
    hardwareVersion: { type: 'string', require: true, example: '' },
    onlineState: { type: 'string', require: true, example: '' },
    SN: { type: 'string', require: true, example: '' },
  },
  updateAllOnus: {
    onus: { type: 'array', itemType: 'string' },
  },
  tr069command: {
    id: { type: 'string', require: true, example: '' },
    deviceType: { type: 'string', require: false, example: '' },
    typeName: { type: 'string', require: false, example: '' },
    keys: { type: 'string', require: true, false: '' },
  },
  oltuploadfile: {
    id: { type: 'string', require: true, example: '' },
    data: { type: 'string', require: true, example: '' },
  },
  editftp: {
    ftpIp: { type: 'string', require: true, example: '' },
    ftpPassword: { type: 'string', require: true, example: '' },
  },
  addUser: {
    name: { type: 'string', require: true, example: '' },
    address: { type: 'string', require: true, example: '' },
    telephone: { type: 'string', require: true, example: '' },
  },
  editUser: {
    id: { type: 'string', require: true, example: '' },
    name: { type: 'string', require: true, example: '' },
    address: { type: 'string', require: true, example: '' },
    telephone: { type: 'string', require: true, example: '' },
  },
  scriptedit: {
    id: { type: 'string', require: true, example: '' },
    script: { type: 'string', require: true, example: '' },
  },
  sncreate: {
    SN: { type: 'string', require: true, example: '' },
  },
  onuBindVlan: {
    oltID: { type: 'string', require: true, example: '' },
    vlan: { type: 'string', require: true, examplt: '' },
    ponIndex: { type: 'string', require: true, examplt: '' },
    onuIndex: { type: 'string', require: true, examplt: '' },
  },
  tenantadminInitCloudOltServer: {
    url:{type:'string',require:true,example:''},
    username:{type:'string',require:true,example:''},
    password:{type:'string',require:true,example:''},
    state:{type:'boolean',require:true,example:false},
    id:{type:'string',require:true,example:''}
  },
  lineAndRemote:{
    oltId:{type:'string',require:true,example:''},
    name:{type:'string',require:true,example:''},
    description:{type:'string',require:true,example:''},
    bussinessArr: { type: 'array', itemType: 'lineBussiness' },
  },
  oltProfile:{
    id:{type:'string',require:false,example:''},
    type:{type:'string',require:true,example:''},
    name:{type:'string',require:true,example:''},
    context:{type:'string',require:true,example:''},
    oltId:{type:'string',require:true,example:''},
  },
  wanProfile:{
    type:{type:'string',require:true,example:''},
    name:{type:'string',require:true,example:''},
    context:{type:'string',require:true,example:''},
    oltId:{type:'string',require:true,example:''},
  },
  wanProfileInfo:{
    wanIndex:{type:'string',require:true,example:''},
    mode:{type:'string',require:true,example:''},
    onuAddress:{type:'string',require:true,example:''},
    vlanProfile:{type:'string',require:true,example:''},
    hostID:{type:'string',require:true,example:''},
    pppoeUsername:{type:'string',require:true,example:''},
    pppoePassword:{type:'string',require:true,example:''},
    ipProfile:{type:'string',require:true,example:''},
    ipAddress:{type:'string',require:true,example:''},
    mask:{type:'string',require:true,example:''},
    OltId:{type:'string',require:true,example:''},
  },
  delWAN:{
    wanIndex:{type:'string',require:true,example:''},
    onuAddress:{type:'string',require:true,example:''},
    OltId:{type:'string',require:true,example:''},
  },
  voipProfile:{
    mode:{type:'string',require:true,example:''},
    onuAddress:{type:'string',require:true,example:''},
    vlanProfile:{type:'string',require:true,example:''},
    hostID:{type:'string',require:true,example:''},
    pppoeUsername:{type:'string',require:true,example:''},
    pppoePassword:{type:'string',require:true,example:''},
    ipProfile:{type:'string',require:true,example:''},
    ipAddress:{type:'string',require:true,example:''},
    mask:{type:'string',require:true,example:''},
    OltId:{type:'string',require:true,example:''},
    pots:{type:'string',require:true,example:''},
    sipProfile:{type:'string',require:true,example:''},
    userID:{type:'string',require:true,example:''},
    sipUsername:{type:'string',require:true,example:''},
    sipPassword:{type:'string',require:true,example:''},
    type:{type:'string',require:true,example:''}
  },
  delVOIP:{
    pots:{type:'string',require:true,example:''},
    onuAddress:{type:'string',require:true,example:''},
    OltId:{type:'string',require:true,example:''},
  },
  updateETH:{
    OltId:{type:'string',require:true,example:''},
    onuAddress:{type:'string',require:true,example:''},
    ethInterface:{type:'string',require:true,example:''},
    ethStatus:{type:'string',require:true,example:''},
  }
};

